var Hasl = ( Hasl || {} );

Hasl.Terrain = function(typeName, mf, ffmo, tem, losHinderance, isConcealment, isBypassable)
{
    var that = {};
    var mTypeName = typeName;
    var mMF   = mf;
    var mFFMO = ffmo;
    var mTEM  = tem;
    var mLOSHiderance = losHinderance;
    var mIsConcealment = isConcealment;
    var mIsBypassable = isBypassable;
    that.getMf = function() {
        return mMF;
    }
    that.getType = function() {
        return mTypeName;
    }
    return that;
};

Hasl.Terrains = {};

Hasl.Terrains = [ //offset by terrain type
    Hasl.Terrain('Open Ground',     1, -1,  0,  0, false, false),
    Hasl.Terrain('Wood',            2,  0,  1,  0,  true,  true),
    Hasl.Terrain('Brush',           2,  0,  1,  0,  true, false),
    Hasl.Terrain('Wooden Building', 2,  0,  2,  0,  true,  true),
    Hasl.Terrain('Stone Building',  2,  0,  3,  0,  true,  true),
    Hasl.Terrain('Orchard',         1,  0,  0,  1,  true, false),
    Hasl.Terrain('Grain',         1.5,  0,  0,  1,  true, false),
];

Hasl.TerrainRedering = [ //offset by terrain type
    '#afbc6a',
    '#2c2a16',
    '#abe068',
    '#cc9a60',
    '#919191',
    '#52622e',
    '#ffef6f'
];

Hasl.Terrains.TerrainType = {
    OpenGround : 0,
    Woods      : 1,
    Brush      : 2,
    WoodBldg   : 3,
    StoneBldg  : 4,
    Orchard    : 5,
    Grain      : 6
};

Hasl.Terrains.Y =  [
    // A1 - A10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // B0 - B10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // C1 - C10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.Orchard],
    // D0 - D10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.WoodBldg],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround],
    // E1 - E10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.Orchard],
    // F0 - F10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround],
    // G1 - G10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // H0 - H10
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    // I1 - I10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // J0 - J10
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    // K1 - K10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    // L0 - L10
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    // M1 - M10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround],
    // N0 - N10
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    // O1 - O10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.WoodBldg],
    // P0 - P10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // Q1 - Q10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // R0 - R10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // S1 - S10
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    // T0 - T10
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    // U1 - U10
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    // V0 - 10
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    // W1 - 10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    // X0 - 10
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    // Y1 - 10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // Z0 - 10
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    // AA1 - 10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    // BB0 - 10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.Grain],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // CC1 - 10
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // DD0 - 10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.WoodBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // EE1 - 10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.WoodBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // FF0 - 10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    // GG1 - 10
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.Woods],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.OpenGround]
    ];
    

Hasl.Terrains.Test = [
    // A1-3
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Brush],
    [Hasl.Terrains.TerrainType.Grain],
    // B0-3
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.OpenGround, Hasl.Terrains.TerrainType.WoodBldg],
    [Hasl.Terrains.TerrainType.Woods],
    // C1-3
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Brush],
    [Hasl.Terrains.TerrainType.Grain],
    // D0-3
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.WoodBldg],
    [Hasl.Terrains.TerrainType.Woods],
    // E1-3
    [Hasl.Terrains.TerrainType.OpenGround],
    [Hasl.Terrains.TerrainType.Brush],
    [Hasl.Terrains.TerrainType.Grain],
    // F0-3
    [Hasl.Terrains.TerrainType.Orchard],
    [Hasl.Terrains.TerrainType.StoneBldg],
    [Hasl.Terrains.TerrainType.WoodBldg],
    [Hasl.Terrains.TerrainType.Woods]
    ];